This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Ctrl+Shift+Enter.

Prepare project

p_load(blogdown)
Installing package into 㤼㸱C:/GIT_clones/BAFU_Strompreise/local_package_library/3.5.1㤼㸲
(as 㤼㸱lib㤼㸲 is unspecified)
cannot open URL 'http://www.stats.ox.ac.uk/pub/RWin/src/contrib/PACKAGES.rds': HTTP status was '404 Not Found'also installing the dependencies 㤼㸱bookdown㤼㸲, 㤼㸱servr㤼㸲

cannot open URL 'http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.5/PACKAGES.rds': HTTP status was '404 Not Found'cannot open URL 'http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.5/PACKAGES.gz': HTTP status was '404 Not Found'cannot open URL 'http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.5/PACKAGES': HTTP status was '404 Not Found'unable to access index for repository http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.5:
  cannot open URL 'http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.5/PACKAGES'trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.5/bookdown_0.7.zip'
Content type 'application/zip' length 928178 bytes (906 KB)
downloaded 906 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.5/servr_0.10.zip'
Content type 'application/zip' length 86343 bytes (84 KB)
downloaded 84 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.5/blogdown_0.8.zip'
Content type 'application/zip' length 155287 bytes (151 KB)
downloaded 151 KB
package ‘bookdown’ successfully unpacked and MD5 sums checked
package ‘servr’ successfully unpacked and MD5 sums checked
package ‘blogdown’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\tes\AppData\Local\Temp\Rtmp8WWWS9\downloaded_packages

blogdown installed

Data preparation

Plotting Section

##' === === === === === === === === === === === === === === === === ====
##' 
##' # INIT ALL PLOTS (run first)  ####
##' 
##' === === === === === === === === === === === === === === === === ===
SaveOutput <- T
YvalueRange <- c(0,6000)
addRangeSel <- F
Lang <- "DE"
# Defining Hash tables for storing the different plots, data, and strings for different language options
FileNames <- hash::hash()
PlotTitle <- hash::hash()
XAxisTitle <- hash::hash()
YAxisTitle <- hash::hash()
Year <- "2010/2018"
Years <- c(as.character(c(2010:2018)))
# Years <- c(as.character(c(2010:2018)),"2010/2018")
# Screen Width & Height for single screen
scr_width <- system("wmic desktopmonitor get screenwidth", intern=TRUE)[2] %>% as.numeric(.)
scr_height <- system("wmic desktopmonitor get screenheight", intern=TRUE)[2] %>% as.numeric(.)

Plot (dygraphs) original Swissgrid Data

##' === === === === === === === === === === === === === === === === ===
##' 
##' .. 15min Swissgrid Data Interactive ####
##' 
##' === === === === === === === === === === === === === === === === ===
##' Save Interactive DyGraph Plot
##' Knitr und RMarkdown um eine HTML zu erzeugen
SG.plots <- hash::hash()
ElDat.Plots <- hash::hash()
With2ndAxis <- F
# SecondAxisOption: 
# 1: Consumption
# 2: Prices
SecondAxisOption <- 2
WithGrouping <- F
Grouping <- "G1"
for (Year in Years) {
  PlotData <- ElDat_with_Prices
  
  # Define Plot Titles in diffrent languages.
  # If variable Year is something similar to "2010/2016" gsub converts it to "2010 to 2016" in the title.
  PlotTitle["DE"] <- enc2utf8(paste("Elektrizitäts Profil der Schweiz ",
                                      gsub(pattern="/", x=Year,replacement=" bis ")))
  PlotTitle["EN"] <- enc2utf8(paste("Swiss Electricity Profiles ",
                                      gsub(pattern="/", x=Year,replacement=" to ")))
  
  # Define file names for each plot in variable Years with which the plot will be saved on disk.
  # Includes language dependencies.
  FileName <- file.path(getwd(),
                        "figures",
                        paste0(Lang,"_SG_Data_",
                               gsub(pattern="/", x=Year,replacement="_"), # needed if filter is e.g. "2010/2016"
                               ifelse(With2ndAxis,"_2ndAxis",""),
                               ".html"))
  # source files to plot the dygraphs of electricity profiles
  source("scripts/plot_ElectricityDat.R",encoding = "UTF-8")
  dyg <- 
    dyg %>%   
    dyOptions(stackedGraph=T,stepPlot=T,drawGapEdgePoints = F,
              useDataTimezone=T,fillGraph = F,fillAlpha = 0.85,drawPoints = F)
  if (addRangeSel) {source("scripts/plot_ElectricityDat_addRangeSelector.R",encoding = "UTF-8")} 
  
  # Saving the plots individually in a hash file.
  # They can be 
  SG.plots[Year] <- dyg
  print(dyg)
  
  # For standard export procedure
  ElDat.Plots[Year] <- dyg
  FileNames[Year] <- FileName
}

if (SaveOutput) {
  for (Year in Years) {
    saveWidget(ElDat.Plots[[Year]], FileNames[[Year]], 
               selfcontained = TRUE, libdir = NULL,
               background = "white", knitrOptions = list())
    
    webshot(FileNames[[Year]], file = paste0(FileNames[[Year]],".png"),
            cliprect = "viewport",
            expand = c(-100, 200, 200, -100), #top, right, bottom, left
            # selector = "canvas",
            vwidth = scr_width,
            vheight = scr_height,
            # zoom=2.5,
            eval = "casper.then(function() {
            casper.zoom(4)
  });"
              )
  }
}

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.

When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).

The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.

LS0tDQp0aXRsZTogIlNXSVNTR1JJRCBEQVRBIEFOQUxZU0lTICsgRUxFQ1RSSUNJVFkgTUFSS0VUIFBMT1RTIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KVGhpcyBpcyBhbiBbUiBNYXJrZG93bl0oaHR0cDovL3JtYXJrZG93bi5yc3R1ZGlvLmNvbSkgTm90ZWJvb2suIFdoZW4geW91IGV4ZWN1dGUgY29kZSB3aXRoaW4gdGhlIG5vdGVib29rLCB0aGUgcmVzdWx0cyBhcHBlYXIgYmVuZWF0aCB0aGUgY29kZS4gDQoNClRyeSBleGVjdXRpbmcgdGhpcyBjaHVuayBieSBjbGlja2luZyB0aGUgKlJ1biogYnV0dG9uIHdpdGhpbiB0aGUgY2h1bmsgb3IgYnkgcGxhY2luZyB5b3VyIGN1cnNvciBpbnNpZGUgaXQgYW5kIHByZXNzaW5nICpDdHJsK1NoaWZ0K0VudGVyKi4gDQoNCiMgUHJlcGFyZSBwcm9qZWN0DQpgYGB7cn0NCmNhdCgiXDAxNCIpICMgY2xlYXIgY29uc29sZQ0KcHJvamVjdC5sb2FkKCkgIyBsb2FkIHByb2plY3QNCnBfbG9hZChibG9nZG93bikNCiMgc291cmNlKCIuL2Z1bmN0aW9ucy9Pd25GdW5jdGlvbnMuUiIpICMgYWxyZWFkeSBsb2FkZWQgYnkgLnByb2plY3QubG9hZA0KDQppZiAoRikgeyAucHJvamVjdC5sb2FkLmNhY2hlKCJyYXciKSB9DQppZiAoVCkgeyAucHJvamVjdC5sb2FkLmNhY2hlKCJhbmFseXNlZCIpfQ0KDQojIG11bmdlIGRhdGENCmlmIChGKSB7IHNvdXJjZSgiLi9tdW5nZS9NdW5nZS5SIixlbmNvZGluZyA9ICJVVEYtOCIpIH0NCg0KaGFzaCA8LSBoYXNoOjpoYXNoDQoNCiMrIGVjaG89Rg0KICMgLnByb2plY3QucmVsb2FkKCkNCg0KDQpFWiA9ICJFdXJvcGUvWnVyaWNoIg0KDQoNCg0KZ2V0RWxEYXRQViA8LSBmdW5jdGlvbihBbnRlaWwpIHsNCiAgRWxEYXRfb2huZUtLVyAlPiUgDQogICAgbGVmdF9qb2luKGRmLlBWLlBvdC5DSC5maW5hbCwgYnkgPSAiRGF0ZXRpbWUiKSAlPiUgDQogICAgbXV0YXRlKFBWLkdXaCA9IFBWLkdXaCAqIEFudGVpbCkgJT4lIA0KICAgIG11dGF0ZShQcm9kX1RvdGFsX0NvbnRyb2xCbG9jayA9IFByb2RfVG90YWxfQ29udHJvbEJsb2NrICsgUFYuR1doKjFFMDYpICU+JQ0KICAgIHNlbGVjdCgtc3RhcnRzX3dpdGgoIlByb2RfQ2FudG9uIiksLXN0YXJ0c193aXRoKCJDb25zX0NhbnRvbiIpKSAlPiUNCiAgICBFbERhdFBsb3RfUHJlcGFyZSgpDQp9DQoNCmBgYA0KDQojIERhdGEgcHJlcGFyYXRpb24NCg0KIyBQbG90dGluZyBTZWN0aW9uDQpgYGB7cn0NCiMjJyA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09PQ0KIyMnIA0KIyMnICMgSU5JVCBBTEwgUExPVFMgKHJ1biBmaXJzdCkgICMjIyMNCiMjJyANCiMjJyA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09DQpTYXZlT3V0cHV0IDwtIEYNCll2YWx1ZVJhbmdlIDwtIGMoMCw2MDAwKQ0KYWRkUmFuZ2VTZWwgPC0gRg0KTGFuZyA8LSAiREUiDQoNCiMgRGVmaW5pbmcgSGFzaCB0YWJsZXMgZm9yIHN0b3JpbmcgdGhlIGRpZmZlcmVudCBwbG90cywgZGF0YSwgYW5kIHN0cmluZ3MgZm9yIGRpZmZlcmVudCBsYW5ndWFnZSBvcHRpb25zDQpGaWxlTmFtZXMgPC0gaGFzaDo6aGFzaCgpDQpQbG90VGl0bGUgPC0gaGFzaDo6aGFzaCgpDQpYQXhpc1RpdGxlIDwtIGhhc2g6Omhhc2goKQ0KWUF4aXNUaXRsZSA8LSBoYXNoOjpoYXNoKCkNCg0KDQpZZWFyIDwtICIyMDEwLzIwMTgiDQpZZWFycyA8LSBjKGFzLmNoYXJhY3RlcihjKDIwMTA6MjAxOCkpKQ0KIyBZZWFycyA8LSBjKGFzLmNoYXJhY3RlcihjKDIwMTA6MjAxOCkpLCIyMDEwLzIwMTgiKQ0KDQojIFNjcmVlbiBXaWR0aCAmIEhlaWdodCBmb3Igc2luZ2xlIHNjcmVlbg0Kc2NyX3dpZHRoIDwtIHN5c3RlbSgid21pYyBkZXNrdG9wbW9uaXRvciBnZXQgc2NyZWVud2lkdGgiLCBpbnRlcm49VFJVRSlbMl0gJT4lIGFzLm51bWVyaWMoLikNCnNjcl9oZWlnaHQgPC0gc3lzdGVtKCJ3bWljIGRlc2t0b3Btb25pdG9yIGdldCBzY3JlZW5oZWlnaHQiLCBpbnRlcm49VFJVRSlbMl0gJT4lIGFzLm51bWVyaWMoLikNCg0KYGBgDQoNCiMjIFBsb3QgKGR5Z3JhcGhzKSBvcmlnaW5hbCBTd2lzc2dyaWQgRGF0YQ0KYGBge3J9DQojIycgPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PQ0KIyMnIA0KIyMnIC4uIDE1bWluIFN3aXNzZ3JpZCBEYXRhIEludGVyYWN0aXZlICMjIyMNCiMjJyANCiMjJyA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09DQojIycgU2F2ZSBJbnRlcmFjdGl2ZSBEeUdyYXBoIFBsb3QNCiMjJyBLbml0ciB1bmQgUk1hcmtkb3duIHVtIGVpbmUgSFRNTCB6dSBlcnpldWdlbg0KDQpTRy5wbG90cyA8LSBoYXNoOjpoYXNoKCkNCg0KRWxEYXQuUGxvdHMgPC0gaGFzaDo6aGFzaCgpDQoNCg0KV2l0aDJuZEF4aXMgPC0gRg0KIyBTZWNvbmRBeGlzT3B0aW9uOiANCiMgMTogQ29uc3VtcHRpb24NCiMgMjogUHJpY2VzDQpTZWNvbmRBeGlzT3B0aW9uIDwtIDINCldpdGhHcm91cGluZyA8LSBGDQpHcm91cGluZyA8LSAiRzEiDQoNCg0KDQpmb3IgKFllYXIgaW4gWWVhcnMpIHsNCiAgUGxvdERhdGEgPC0gRWxEYXRfd2l0aF9QcmljZXMNCiAgDQogICMgRGVmaW5lIFBsb3QgVGl0bGVzIGluIGRpZmZyZW50IGxhbmd1YWdlcy4NCiAgIyBJZiB2YXJpYWJsZSBZZWFyIGlzIHNvbWV0aGluZyBzaW1pbGFyIHRvICIyMDEwLzIwMTYiIGdzdWIgY29udmVydHMgaXQgdG8gIjIwMTAgdG8gMjAxNiIgaW4gdGhlIHRpdGxlLg0KICBQbG90VGl0bGVbIkRFIl0gPC0gZW5jMnV0ZjgocGFzdGUoIkVsZWt0cml6aXTDpHRzIFByb2ZpbCBkZXIgU2Nod2VpeiAiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3ViKHBhdHRlcm49Ii8iLCB4PVllYXIscmVwbGFjZW1lbnQ9IiBiaXMgIikpKQ0KICBQbG90VGl0bGVbIkVOIl0gPC0gZW5jMnV0ZjgocGFzdGUoIlN3aXNzIEVsZWN0cmljaXR5IFByb2ZpbGVzICIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzdWIocGF0dGVybj0iLyIsIHg9WWVhcixyZXBsYWNlbWVudD0iIHRvICIpKSkNCiAgDQogICMgRGVmaW5lIGZpbGUgbmFtZXMgZm9yIGVhY2ggcGxvdCBpbiB2YXJpYWJsZSBZZWFycyB3aXRoIHdoaWNoIHRoZSBwbG90IHdpbGwgYmUgc2F2ZWQgb24gZGlzay4NCiAgIyBJbmNsdWRlcyBsYW5ndWFnZSBkZXBlbmRlbmNpZXMuDQogIEZpbGVOYW1lIDwtIGZpbGUucGF0aChnZXR3ZCgpLA0KICAgICAgICAgICAgICAgICAgICAgICAgImZpZ3VyZXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgcGFzdGUwKExhbmcsIl9TR19EYXRhXyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3N1YihwYXR0ZXJuPSIvIiwgeD1ZZWFyLHJlcGxhY2VtZW50PSJfIiksICMgbmVlZGVkIGlmIGZpbHRlciBpcyBlLmcuICIyMDEwLzIwMTYiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFdpdGgybmRBeGlzLCJfMm5kQXhpcyIsIiIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIuaHRtbCIpKQ0KDQogICMgc291cmNlIGZpbGVzIHRvIHBsb3QgdGhlIGR5Z3JhcGhzIG9mIGVsZWN0cmljaXR5IHByb2ZpbGVzDQogIHNvdXJjZSgic2NyaXB0cy9wbG90X0VsZWN0cmljaXR5RGF0LlIiLGVuY29kaW5nID0gIlVURi04IikNCiAgZHlnIDwtIA0KICAgIGR5ZyAlPiUgICANCiAgICBkeU9wdGlvbnMoc3RhY2tlZEdyYXBoPVQsc3RlcFBsb3Q9VCxkcmF3R2FwRWRnZVBvaW50cyA9IEYsDQogICAgICAgICAgICAgIHVzZURhdGFUaW1lem9uZT1ULGZpbGxHcmFwaCA9IEYsZmlsbEFscGhhID0gMC44NSxkcmF3UG9pbnRzID0gRikNCiAgaWYgKGFkZFJhbmdlU2VsKSB7c291cmNlKCJzY3JpcHRzL3Bsb3RfRWxlY3RyaWNpdHlEYXRfYWRkUmFuZ2VTZWxlY3Rvci5SIixlbmNvZGluZyA9ICJVVEYtOCIpfSANCiAgDQogICMgU2F2aW5nIHRoZSBwbG90cyBpbmRpdmlkdWFsbHkgaW4gYSBoYXNoIGZpbGUuDQogICMgVGhleSBjYW4gYmUgDQogIFNHLnBsb3RzW1llYXJdIDwtIGR5Zw0KICBwcmludChkeWcpDQogIA0KICAjIEZvciBzdGFuZGFyZCBleHBvcnQgcHJvY2VkdXJlDQogIEVsRGF0LlBsb3RzW1llYXJdIDwtIGR5Zw0KICBGaWxlTmFtZXNbWWVhcl0gPC0gRmlsZU5hbWUNCn0NCg0KaWYgKFNhdmVPdXRwdXQpIHsNCiAgZm9yIChZZWFyIGluIFllYXJzKSB7DQogICAgc2F2ZVdpZGdldChFbERhdC5QbG90c1tbWWVhcl1dLCBGaWxlTmFtZXNbW1llYXJdXSwgDQogICAgICAgICAgICAgICBzZWxmY29udGFpbmVkID0gVFJVRSwgbGliZGlyID0gTlVMTCwNCiAgICAgICAgICAgICAgIGJhY2tncm91bmQgPSAid2hpdGUiLCBrbml0ck9wdGlvbnMgPSBsaXN0KCkpDQogICAgDQogICAgd2Vic2hvdChGaWxlTmFtZXNbW1llYXJdXSwgZmlsZSA9IHBhc3RlMChGaWxlTmFtZXNbW1llYXJdXSwiLnBuZyIpLA0KICAgICAgICAgICAgY2xpcHJlY3QgPSAidmlld3BvcnQiLA0KICAgICAgICAgICAgZXhwYW5kID0gYygtMTAwLCAyMDAsIDIwMCwgLTEwMCksICN0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQNCiAgICAgICAgICAgICMgc2VsZWN0b3IgPSAiY2FudmFzIiwNCiAgICAgICAgICAgIHZ3aWR0aCA9IHNjcl93aWR0aCwNCiAgICAgICAgICAgIHZoZWlnaHQgPSBzY3JfaGVpZ2h0LA0KICAgICAgICAgICAgIyB6b29tPTIuNSwNCiAgICAgICAgICAgIGV2YWwgPSAiY2FzcGVyLnRoZW4oZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBjYXNwZXIuem9vbSg0KQ0KICB9KTsiDQogICAgICAgICAgICAgICkNCiAgfQ0KfQ0KDQoNCmBgYA0KDQoNCg0KQWRkIGEgbmV3IGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqSW5zZXJ0IENodW5rKiBidXR0b24gb24gdGhlIHRvb2xiYXIgb3IgYnkgcHJlc3NpbmcgKkN0cmwrQWx0K0kqLg0KDQpXaGVuIHlvdSBzYXZlIHRoZSBub3RlYm9vaywgYW4gSFRNTCBmaWxlIGNvbnRhaW5pbmcgdGhlIGNvZGUgYW5kIG91dHB1dCB3aWxsIGJlIHNhdmVkIGFsb25nc2lkZSBpdCAoY2xpY2sgdGhlICpQcmV2aWV3KiBidXR0b24gb3IgcHJlc3MgKkN0cmwrU2hpZnQrSyogdG8gcHJldmlldyB0aGUgSFRNTCBmaWxlKS4NCg0KVGhlIHByZXZpZXcgc2hvd3MgeW91IGEgcmVuZGVyZWQgSFRNTCBjb3B5IG9mIHRoZSBjb250ZW50cyBvZiB0aGUgZWRpdG9yLiBDb25zZXF1ZW50bHksIHVubGlrZSAqS25pdCosICpQcmV2aWV3KiBkb2VzIG5vdCBydW4gYW55IFIgY29kZSBjaHVua3MuIEluc3RlYWQsIHRoZSBvdXRwdXQgb2YgdGhlIGNodW5rIHdoZW4gaXQgd2FzIGxhc3QgcnVuIGluIHRoZSBlZGl0b3IgaXMgZGlzcGxheWVkLg0K